package com.ubb.dbms.core.systemCatalog;

import com.ubb.dbms.core.Utils.SQLExceptions.ItemAlreadyExistsException;
import com.ubb.dbms.core.Utils.SQLExceptions.ItemNotExistsException;
import com.ubb.dbms.domain.xml.Database;
import com.ubb.dbms.domain.xml.IndexFile;
import com.ubb.dbms.domain.xml.Table;

public interface SystemCatalog {
	void createDatabase(Database database);
	
	void dropDatabase(String databasename);
	
	void createTable(Table table, String usesDatabase) throws ItemAlreadyExistsException;
	
	Table getTable(String tableName, String usesDatabase) throws ItemNotExistsException;
	
	Database getDatabase(String databaseName) throws ItemNotExistsException;
	
	void createIndex(IndexFile indexFile, Table table, String usesDatabase);
}
